package views.mediators
{
	import com.axon.mvc.patterns.mediator.AxMediatorPopUp;
	
	import flash.display.DisplayObject;
	
	import helpers.Utils;
	import helpers.Verbs;
	
	import models.vo.Pleito;
	
	import views.components.PleitoPopUpRegProtocoloView;

	public class PleitoPopUpRegProtocoloMediator extends AxMediatorPopUp
	{
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function PleitoPopUpRegProtocoloMediator(parent: DisplayObject, pleito: Pleito) 
		{ 
			super(parent, pleito); 
		}
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////
		
		public function get view(): PleitoPopUpRegProtocoloView { return viewComponent as PleitoPopUpRegProtocoloView; }
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////

		override protected function initialize(): void
		{
			regResponseInterest( Pleito, [ Verbs.REGISTRAR_PROTOCOLO ] );
		}
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////

		public function eventOk(): void
		{
			if (!Utils.numeroProcessoValido(Pleito(view.vo).numeroProtocolo)) {
				
				view.errorString = "Número do protocolo inválido";
				view.mtxtNumeroProtocolo.setFocus();
				return; }	
			
			else if (!Pleito(view.vo).dataProtocolo) {
			
				view.errorString = "Data do protocolo inválida";
				view.dtDataProtocolo.setFocus();
				return;	
			}

			callController( Pleito, Verbs.REGISTRAR_PROTOCOLO, Pleito(view.vo) );
		}
		
		//////////////////////////////////////////////////////////////////////////////////////////////////////

		public function respPleitoRegistrarProtocoloSuccess( sender: Object, body: Object, extraInfo: Object ): void
		{
			closePopUp();
		}

		//////////////////////////////////////////////////////////////////////////////////////////////////////

		public function respPleitoRegistrarProtocoloFailure( sender: Object, body: Object, extraInfo: Object ): void
		{
			//view.errorString = "Falha no registro do protocolo (provavelmente algum problema no servidor).";
			view.errorString = "Falha no registro do protocolo.";
		}

	}
}